home *** CD-ROM | disk | FTP | other *** search
- This directory contains the link drawing part of the Link editor
- for Jeff Weeks. This is simply a 2D curve drawing package, with facilities
- for over-under specifications at crossing. The interface will
- be combined with this program in a LinkEdit directory.
-
- This program needs to define the basic data structures, and have the
- required editing and state mode public functions. These are
-
- MovePoint
- DeletePoint
- AddPoint - before, after, in-between
-
- Translate Link
- Scale Link
- Rotate Link
-
- Flip Crossing
-
- Shift View
- Zoom View
- Center View
-
- Show Crossings ?
- Detect Crossings ?
-
- Save link, scene
- Get New Link- empty, primitive, from file
- Delete link, all
-
- I should leave hooks for coloring different links differently.
-
- 10/26/90
-
- Data structures:
-
- A point has x,y,z coords, and pointers to next and previous points.
- We also consider a point as the start of an edge, and the
- structure "crossing" is a linked list of crossings of that edge.
- In that list the "partner" structure points to the edge which is
- crossed (i.e. the start point of that edge)
-
- z values are all + or - 1. Vertices are always -1. Crossingpoints
- are either + or -1.
-
- A link is a list of points, together with the flag of closed or not.
- The edges are implicit in the ordering, and the crossings for
- a given edge are contained in the linked list of pnt->crossing
- where pnt is the starting point of the edge. The starting point of
- the crossed edges are contained in the crossing->partner field.
-
- 11/12/90
-
- The size in mm of the gap shown at a crossing is determined by
- LINK_GAP in *types.h.
-
- Design issues:
- 1) The interface ala BoxTool
- 2) How to recompute crossings when an edge is moved-
- for each link
- for each edge in link
- if currently there is a crossing
- recompute crossing
- if no crossing delete old one
- else replace old one with new, preserving z value of old
- else
- compute crossings
- end
- end
-
- 2/12/91
-
- I`m going to change the method of highlighting in cases where
- gray-scale isn't available: in that case simply make the vertices double
- size for the currently selected strand.
-
-